๋ฒ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ์คํ๊ณผ ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ํ ํ๊ธฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ธ WebAssembly์ WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ํ์ํด ๋ณด์ธ์.
์์ ํ ์ฝ๋ ์คํ์ ์ํ ์ด์ : WebAssembly WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ฌ์ธต ๋ถ์
์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ ์์ ํ๊ณ , ์ด์ ๊ฐ๋ฅํ๋ฉฐ, ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์๋ฃจ์ ์ ๋ํ ์๊ตฌ์ ๋ฐ๋ผ ๋์์์ด ์งํํ๊ณ ์์ต๋๋ค. ์น์ด์ ๋ธ๋ฆฌ(Wasm)๋ ๋ค์ํ ํ๋ซํผ์์ ์คํ๋๋ ์ฝ๋์ ๋ํด ๋ค์ดํฐ๋ธ์ ๊ฐ๊น์ด ์ฑ๋ฅ๊ณผ ์์ ํ ์คํ ํ๊ฒฝ์ ์ฝ์ํ๋ฉฐ ํต์ฌ ๊ธฐ์ ๋ก ๋ถ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ Wasm์ด ๊ทธ ์ ์ฌ๋ ฅ์ ์์ ํ ๋ฐํํ๊ธฐ ์ํด์๋, ํนํ ๊ธฐ๋ณธ ์์คํ ๋ฐ ์ธ๋ถ ๋ฆฌ์์ค์ ์ํธ์์ฉํ ๋, ๊ฐ๋ ฅํ๊ณ ์ธ๋ถํ๋ ๊ถํ ์์คํ ์ด ํ์์ ์ ๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ์น์ด์ ๋ธ๋ฆฌ ์์คํ ์ธํฐํ์ด์ค(WASI)์ ์ญ๋ ๋ถ์ฌ(capability grant) ์์คํ ์ด ๋ฑ์ฅํ์ฌ, Wasm ๋ชจ๋์ด ๋ฌด์์ ํ ์ ์๊ณ ๋ฌด์์ ํ ์ ์๋์ง๋ฅผ ๊ด๋ฆฌํ๋ ์๋กญ๊ณ ๊ฐ๋ ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
WebAssembly์ ๋ฐ์ ๊ณผ ์์คํ ์ํธ์์ฉ์ ํ์์ฑ
์ฒ์์๋ C++, Rust, Go์ ๊ฐ์ ์ธ์ด๋ฅผ ์น์์ ํจ์จ์ ์ผ๋ก ์คํํ ์ ์๋๋ก ํ๋ ์น ๋ธ๋ผ์ฐ์ ์ฉ ์ปดํ์ผ ๋์์ผ๋ก ๊ณ ์๋์์ง๋ง, ์น์ด์ ๋ธ๋ฆฌ์ ์ผ๋ง์ ๋ธ๋ผ์ฐ์ ์๋๋ฐ์ค๋ฅผ ๋์ด ๋น ๋ฅด๊ฒ ํ์ฅ๋์์ต๋๋ค. ์๋ฒ, ํด๋ผ์ฐ๋ ํ๊ฒฝ, ์ฌ์ง์ด ์ฃ์ง ๋๋ฐ์ด์ค์์ Wasm ๋ชจ๋์ ์คํํ ์ ์๋ ๋ฅ๋ ฅ์ ๋ฌดํํ ๊ฐ๋ฅ์ฑ์ ์ธ๊ณ๋ฅผ ์ฝ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ํ์ฅ์ Wasm ๋ชจ๋์ด ํธ์คํธ ์์คํ ๊ณผ ์์ ํ๊ฒ ์ํธ์์ฉํ ์ ์๋ ๋ฐฉ๋ฒ, ์ฆ ํ์ผ์ ์ ๊ทผํ๊ณ , ๋คํธ์ํฌ ์์ฒญ์ ํ๊ณ , ์ด์ ์ฒด์ ์ ์ํธ์์ฉํ๋ฉฐ, ๋ค๋ฅธ ์์คํ ๋ฆฌ์์ค๋ฅผ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ํ์๋ก ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก WASI๊ฐ ํด๊ฒฐํ๊ณ ์ ํ๋ ๋ฌธ์ ์ ๋๋ค.
WASI๋ ๋ฌด์์ธ๊ฐ?
WASI๋ ์น์ด์ ๋ธ๋ฆฌ๋ฅผ ์ํ ๋ชจ๋ํ ์์คํ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๋ ๋ฐ์ ์ค์ธ ํ์ค์ ๋๋ค. ์ฃผ์ ๋ชฉํ๋ Wasm ๋ชจ๋์ด ๊ธฐ๋ณธ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด์ ๊ด๊ณ์์ด ํ์คํ๋๊ณ ์์ ํ ๋ฐฉ์์ผ๋ก ํธ์คํธ ํ๊ฒฝ๊ณผ ์ํธ์์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. WASI๋ฅผ ์ ํต์ ์ธ ์์คํ ํธ์ถ๊ณผ ์ ์ฌํ๊ฒ Wasm ๋ชจ๋์ด ์์คํ ์์ค์ ์์ ์ ์ํํ๊ธฐ ์ํด ํธ์ถํ ์ ์๋ API ์งํฉ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฌํ API๋ ๋ค์ํ Wasm ๋ฐํ์์์ ์ด์ ๊ฐ๋ฅํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ์ค๊ณ๋์์ต๋๋ค.
์์คํ ์ํธ์์ฉ์ ๊ณผ์
Wasm ๋ชจ๋๊ณผ ์์คํ ๋ฆฌ์์ค์ ์ง์ ์ ์ธ ํตํฉ์ ์๋นํ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค. ์ ์ ํ ํต์ ๊ฐ ์๋ค๋ฉด Wasm ๋ชจ๋์ ์ ์ฌ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ ์ ์์ต๋๋ค:
- ํธ์คํธ ์์คํ ์ ๋ฏผ๊ฐํ ํ์ผ์ ์ ๊ทผํฉ๋๋ค.
- ์์์ ๋คํธ์ํฌ ์์ฒญ์ ํ์ฌ ์๋น์ค ๊ฑฐ๋ถ(DoS) ๊ณต๊ฒฉ์ด๋ ๋ฐ์ดํฐ ์ ์ถ์ ์ ๋ฐํฉ๋๋ค.
- ์์คํ ๊ตฌ์ฑ์ ์กฐ์ํ๊ฑฐ๋ ์ ์ฑ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
- ๊ณผ๋ํ ๋ฆฌ์์ค๋ฅผ ์๋นํ์ฌ ํธ์คํธ์ ์์ ์ฑ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์ ํต์ ์ธ ์๋๋ฐ์ฑ ๋ฉ์ปค๋์ฆ์ ์ข ์ข ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ๋ ์ด์ ์ฒด์ ์์ค์ ๊ถํ์ ์์กดํฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ํจ๊ณผ์ ์ด์ง๋ง, ๋ฌด๊ฑฐ์ธ ์ ์์ผ๋ฉฐ ์ปดํฌ๋ํธ๊ฐ ๋์ ์ผ๋ก ๋ก๋๋๊ณ ์คํ๋ ์ ์๋ ํ๋์ ๋ถ์ฐ๋๊ณ ๋ชจ๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ์ธ๋ฐํ ์ ์ด๋ฅผ ์ ๊ณตํ์ง ๋ชปํ ์ ์์ต๋๋ค.
WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์๊ฐ
WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์น์ด์ ๋ธ๋ฆฌ ๋ชจ๋์ ๊ถํ ๊ด๋ฆฌ ๋ฐฉ์์ ์์ด ํจ๋ฌ๋ค์์ ์ ํ์ ์๋ฏธํฉ๋๋ค. ๊ด๋ฒ์ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ๋ชจ๋ ๊ฒ์ ๊ฑฐ๋ถํ๋ ์ ๊ทผ ๋ฐฉ์ ๋์ , Wasm ๋ชจ๋์ ํน์ ํ๊ณ ์ธ๋ถํ๋ ์ญ๋(capability)์ ๋ถ์ฌํ๋ ์์น์ ๋ฐ๋ผ ์๋ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ๊ทผ ์ ์ด๋ฅผ ๋ ๋ช ์์ ์ด๊ณ ๊ฒ์ฆ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด ์์คํ ๋ณด์์ ๊ฐํํ ์ ์๋ ์ ์ฌ๋ ฅ์ผ๋ก ์ค๋ซ๋์ ์ธ์ ๋ฐ์ ์จ ์ญ๋ ๊ธฐ๋ฐ ๋ณด์ ๋ชจ๋ธ์์ ์๊ฐ์ ์ป์์ต๋๋ค.
์ญ๋ ๋ถ์ฌ์ ํต์ฌ ๊ฐ๋
์ญ๋ ๋ถ์ฌ ์์คํ ์ ํต์ฌ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ช ์์ ๊ถํ: ์๋ฌต์ ์ธ ์ ๊ทผ ๋์ , Wasm ๋ชจ๋์ ํน์ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํ ์ญ๋์ ๋ช ์์ ์ผ๋ก ๋ถ์ฌ๋ฐ์์ผ ํฉ๋๋ค.
- ์ต์ ๊ถํ ์์น: ์ด ์์คํ ์ ์ต์ ๊ถํ ์์น์ ๊ฐ์ ํฉ๋๋ค. ์ฆ, Wasm ๋ชจ๋์ ์๋๋ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ๊ถํ ์งํฉ๋ง ๋ถ์ฌ๋ฐ์์ผ ํฉ๋๋ค.
- ์์กฐ ๋ถ๊ฐ๋ฅํ ์ญ๋: ์ญ๋์ ์์กฐ ๋ถ๊ฐ๋ฅํ ํ ํฐ์ผ๋ก ์ทจ๊ธ๋ฉ๋๋ค. ์ผ๋จ ๋ถ์ฌ๋๋ฉด, Wasm ๋ชจ๋์ ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ๋ช ์์ ์ธ ํ๊ฐ ์์ด๋ ์๋ก์ด ์ญ๋์ ์์ฑํ๊ฑฐ๋ ๋ค๋ฅธ ๋ชจ๋์ ์ ๋ฌํ ์ ์์ต๋๋ค. ์ด๋ ๊ถํ ์์น์ ๋ฐฉ์งํฉ๋๋ค.
- ๋ชจ๋ํ ๋ฐ ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ: ์ด ์์คํ ์ ๋ชจ๋์์ผ๋ก ์ค๊ณ๋์ด ๋ค์ํ ์ญ๋์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ถ์ฌํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋งค์ฐ ๊ตฌ์ฑ ๊ฐ๋ฅํ ๋ณด์ ๋ชจ๋ธ๋ก ์ด์ด์ง๋๋ค.
์๋ ๋ฐฉ์: ๊ฐ๋จํ ๋น์
Wasm ๋ชจ๋์ด ๋ณด์ ์์ค์ ๋ค์ด๊ฐ๋ ๋ฐฉ๋ฌธ๊ฐ๊ณผ ๊ฐ๋ค๊ณ ์์ํด ๋ณด์ธ์. ๋ง์คํฐ ํค(๊ด๋ฒ์ํ ๊ถํ ๋ถ์ฌ)๋ฅผ ์ฃผ๋ ๋์ , ์ ๊ทผํด์ผ ํ๋ ๊ฐ ๊ตฌ์ญ์ ๋ํ ํน์ ํค ์นด๋๋ฅผ ๋ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐฉ๋ฌธ๊ฐ์ ํ์์ค์ ๋ค์ด๊ฐ ์ ์๋ ํค ์นด๋(ํ์ผ ์ฝ๊ธฐ ์ ๊ทผ), ๊ตฌ๋ด์๋น์ฉ ํค ์นด๋(ํน์ ์๋ฒ์ ๋ํ ๋คํธ์ํฌ ์ ๊ทผ), ๊ทธ๋ฆฌ๊ณ ๋ฌธ๊ตฌ๋ฅ ์ฐฌ์ฅ์ฉ ํค ์นด๋(ํน์ ์ค์ ํ์ผ์ ๋ํ ์ ๊ทผ)๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. ์ด ์นด๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ ์คํ์ค์ด๋ ๋ค๋ฅธ ํ๊ฐ๋์ง ์์ ๊ตฌ์ญ์ ๋ค์ด๊ฐ ์๋ ์์ต๋๋ค. ๋ํ, ์ด ํค ์นด๋๋ฅผ ๋ณต์ฌํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋น๋ ค์ค ์๋ ์์ต๋๋ค.
๊ธฐ์ ์ ๊ตฌํ ์ธ๋ถ ์ ๋ณด
WASI ๋งฅ๋ฝ์์ ์ญ๋์ ์ข ์ข Wasm ๋ชจ๋์ด ๋ฐ๋ ๋ถํฌ๋ช ํ ํธ๋ค์ด๋ ํ ํฐ์ผ๋ก ํํ๋ฉ๋๋ค. Wasm ๋ชจ๋์ด ์์คํ ์ ๊ทผ์ด ํ์ํ ์์ ์ ์ํํ๊ณ ์ ํ ๋, ์์คํ ํจ์๋ฅผ ์ง์ ํธ์ถํ์ง ์์ต๋๋ค. ๋์ , ๊ด๋ จ ์ญ๋์ ์ ๋ฌํ๋ฉฐ WASI ํจ์๋ฅผ ํธ์ถํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Wasm ๋ฐํ์(ํธ์คํธ ํ๊ฒฝ)์ ์์ ์งํ์ ํ์ฉํ๊ธฐ ์ ์ ๋ชจ๋์ด ํ์ํ ์ญ๋์ ์์ ํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
์๋ฅผ ๋ค์ด, Wasm ๋ชจ๋์ด /data/config.json์ด๋ผ๋ ํ์ผ์ ์ฝ์ด์ผ ํ๋ค๋ฉด, open()๊ณผ ๊ฐ์ ์์คํ
ํธ์ถ์ ์ง์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ๋์ , fd_read()์ ๊ฐ์ WASI ํจ์๋ฅผ ํธ์ถํ ์ ์์ง๋ง, ์ด ํธ์ถ์๋ ํด๋น ํน์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ๋ํด ์ฌ์ ์ ๋ถ์ฌ๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ ์ญ๋์ด ํ์ํฉ๋๋ค. ํธ์คํธ๋ ์ด์ ์ ์ด ์ญ๋์ ์ค์ ํ์ ๊ฒ์ด๋ฉฐ, ์๋ง๋ ํธ์คํธ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ Wasm์ด ๋ณผ ์ ์๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ์ ๋งคํํ๊ณ ์ด๋ฅผ ๋ชจ๋์ ์ ๋ฌํ๋ ๋ฐฉ์์ผ ๊ฒ์
๋๋ค.
๊ด๋ จ๋ ์ฃผ์ WASI ์ธํฐํ์ด์ค
๋ช ๊ฐ์ง WASI ์ธํฐํ์ด์ค๋ ์ญ๋ ๋ถ์ฌ ์์คํ ๊ณผ ํจ๊ป ์๋ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ค์์ ํฌํจํฉ๋๋ค:
wasi-filesystem: ์ด ์ธํฐํ์ด์ค๋ ํ์ผ ์์คํ ๊ณผ ์ํธ์์ฉํ๊ธฐ ์ํ ์ญ๋์ ์ ๊ณตํฉ๋๋ค. ์ ์ฒด ํ์ผ ์์คํ ์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๋์ , ํน์ ๋๋ ํฐ๋ฆฌ๋ ํ์ผ์๋ง ์ ๊ทผํ ์ ์๋๋ก ํ ์ ์์ต๋๋ค.wasi-sockets: ์ด ์ธํฐํ์ด์ค๋ Wasm ๋ชจ๋์ด ๋คํธ์ํฌ ์์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค. ์ฌ๊ธฐ์์์ ์ญ๋์ ์ธ๋ถํ๋ ์ ์์ผ๋ฉฐ, ๋ชจ๋์ด ์ฐ๊ฒฐํ ์ ์๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค, ํฌํธ ๋๋ ์๊ฒฉ ํธ์คํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.wasi-clocks: ์๊ฐ ๋ฐ ํ์ด๋จธ์ ์ ๊ทผํ๊ธฐ ์ํจ์ ๋๋ค.wasi-random: ๋์ ์์ฑ์ ์ํจ์ ๋๋ค.
์ด ๋ถ์ฌ ์์คํ ์ ์ด๋ฌํ ๊ธฐ๋ณธ ์ญ๋์กฐ์ฐจ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ์ฌ๋์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ํธ์คํธ ํ๊ฒฝ์ ๋ฐํ์์ Wasm ๋ชจ๋์ ํ๊ฒฝ์ ์ ์ ํ ์ญ๋์ ๊ฒฐ์ ํ๊ณ ์ฃผ์ ํ ์ฑ ์์ด ์์ต๋๋ค.
WASI ์ญ๋ ๋ถ์ฌ์ ์ด์
WASI์ ๋ํ ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์ฑํ์ ์๋ง์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
ํฅ์๋ ๋ณด์
์ด๊ฒ์ด ๊ฐ์ฅ ์ค์ํ ์ด์ ์ ๋๋ค. ์ต์ ๊ถํ ์์น์ ๊ฐ์ ํ๊ณ ๊ถํ์ ๋ช ์์ ์ผ๋ก ๋ง๋ฆ์ผ๋ก์จ ๊ณต๊ฒฉ ํ๋ฉด์ด ๋ํญ ์ค์ด๋ญ๋๋ค. ์์๋ Wasm ๋ชจ๋์ ๋ช ์์ ์ผ๋ก ํ์ฉ๋ ์์ ๋ง ์ํํ ์ ์์ผ๋ฏ๋ก ์ ์ฌ์ ์ธ ํผํด๋ฅผ ์ ํํฉ๋๋ค. ์ด๋ ๋ฏผ๊ฐํ ํ๊ฒฝ์์ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
ํฅ์๋ ๋ชจ๋์ฑ ๋ฐ ์ฌ์ฌ์ฉ์ฑ
Wasm ๋ชจ๋์ ํ์ํ ์ญ๋์ ์ํด ์์คํ ๋ฆฌ์์ค์ ๋ํ ์์กด์ฑ์ด ๋ช ํํ๊ฒ ์ ์๋๋๋ก ๋งค์ฐ ๋ชจ๋์์ผ๋ก ์ค๊ณ๋ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํ๊ฒฝ์์ ๋ชจ๋์ ์ถ๋ก , ํ ์คํธ ๋ฐ ์ฌ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ํน์ ๊ตฌ์ฑ ํ์ผ์ ๋ํ ์ฝ๊ธฐ ์ ๊ทผ๋ง ํ์ํ ๋ชจ๋์ ์๋ํ์ง ์์ ์์คํ ์ ๊ทผ์ ๋ํ ๋๋ ค์ ์์ด ๋ค์ํ ์ปจํ ์คํธ์์ ์์ ํ๊ฒ ๋ฐฐํฌ๋ ์ ์์ต๋๋ค.
ํฅ์๋ ์ด์์ฑ
WASI๋ ํ๋ซํผ ๋ ๋ฆฝ์ฑ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ญ๋์ ํตํด ์์คํ ์ํธ์์ฉ์ ์ถ์ํํจ์ผ๋ก์จ, Wasm ๋ชจ๋์ ๊ธฐ๋ณธ ์ด์ ์ฒด์ ์ ๊ด๊ณ์์ด ๊ด๋ จ WASI ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๋ชจ๋ ํธ์คํธ์์ ์คํ๋ ์ ์์ต๋๋ค. ํธ์คํธ ํ๊ฒฝ์ ์ผ๋ฐ์ ์ธ ์ญ๋์ ํน์ OS ์์ค์ ๊ถํ์ ๋งคํํ๋ ์์ ์ ์ฒ๋ฆฌํฉ๋๋ค.
์ธ๋ถํ๋ ์ ์ด
์ญ๋ ๋ชจ๋ธ์ Wasm ๋ชจ๋์ด ์ํํ ์ ์๋ ์์ ์ ๋ํด ๋งค์ฐ ์ธ๋ถํ๋ ์ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋ ํธ์คํธ์ ๋ํ ๋คํธ์ํฌ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๋์ , ํน์ ๋๋ฉ์ธ ๋ฐ ํฌํธ์ ํน์ API ์๋ํฌ์ธํธ์๋ง ์ฐ๊ฒฐํ ์ ์๋ ๊ถํ์ ๋ชจ๋์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์ด ์์ค์ ์ ์ด๋ ์ ํต์ ์ธ ์ด์ ์ฒด์ ๊ถํ์ผ๋ก๋ ๋ฌ์ฑํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ค์ํ ์คํ ํ๊ฒฝ ์ง์
์ญ๋ ๋ถ์ฌ์ ์ ์ฐ์ฑ์ Wasm์ ๋ค์๊ณผ ๊ฐ์ ๊ด๋ฒ์ํ ํ๊ฒฝ์ ์ ํฉํ๊ฒ ๋ง๋ญ๋๋ค:
- ํด๋ผ์ฐ๋ ์ปดํจํ : ์๋ํํฐ ์ฝ๋, ๋ง์ดํฌ๋ก์๋น์ค ๋ฐ ์๋ฒ๋ฆฌ์ค ํจ์๋ฅผ ์์ ํ๊ฒ ์คํํฉ๋๋ค.
- ์ฃ์ง ์ปดํจํ : ๋ฆฌ์์ค๊ฐ ์ ํ๋๊ณ ์ ์ฌ์ ์ผ๋ก ์ ๋ขฐ๋๊ฐ ๋ฎ์ ์ฃ์ง ๋๋ฐ์ด์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํฉ๋๋ค.
- ๋ธ๋ก์ฒด์ธ ๋ฐ ์ค๋งํธ ๊ณ์ฝ: ์ค๋งํธ ๊ณ์ฝ์ ์ํ ์์ ํ๊ณ ๊ฒฐ์ ๋ก ์ ์ธ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ์ฌ, ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ๋ ํธ์คํธ๋ฅผ ๋ฐฉํดํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ : ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฌ๊ทธ์ธ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ ์์ ํ๊ฒ ์คํํ ์ ์๋๋ก ํฉ๋๋ค.
์ค์ WASI ์ญ๋ ๋ถ์ฌ ๊ตฌํํ๊ธฐ
WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ๊ตฌํํ๋ ๊ฒ์ Wasm ๋ชจ๋ ๊ฐ๋ฐ์, Wasm ๋ฐํ์, ๊ทธ๋ฆฌ๊ณ ์ ์ฌ์ ์ผ๋ก ์ค์ผ์คํธ๋ ์ดํฐ๋ ๋ฐฐํฌ ํ๊ฒฝ ๊ฐ์ ์กฐ์ ์ ํฌํจํฉ๋๋ค.
Wasm ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํด
Wasm ๋ชจ๋์ ์์ฑํ๋ ๊ฐ๋ฐ์๋ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค:
- ์์กด์ฑ ์ธ์ง: ๋ชจ๋์ ํ์ํ ์์คํ ๋ฆฌ์์ค(ํ์ผ, ๋คํธ์ํฌ ๋ฑ)๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค.
- WASI API ์ฌ์ฉ: ์์คํ ์ํธ์์ฉ์ ์ํด WASI ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํด์ผ ํฉ๋๋ค.
- ์ต์ ๊ถํ ์์น ์ค๊ณ: ํ์ํ ์ญ๋๋ง ์๊ตฌํ๋๋ก ๋ชฉํ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. ๋ชจ๋์ด ๋จ์ผ ๊ตฌ์ฑ ํ์ผ์ ์ฝ๊ธฐ๋ง ํ๋ฉด ๋๋ค๋ฉด, ์ ์ฒด ํ์ผ ์์คํ ์ ๊ทผ์ ๊ธฐ๋ํ๊ธฐ๋ณด๋ค๋ ํด๋น ํ์ผ์ ๋ํ ์ญ๋์ ์์ฉํ๋๋ก ์ค๊ณํด์ผ ํฉ๋๋ค.
- ์๊ตฌ์ฌํญ ์ ๋ฌ: ๋ชจ๋์ด ๋ฐ๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ์ญ๋์ ๋ช ํํ๊ฒ ๋ฌธ์ํํด์ผ ํฉ๋๋ค.
Wasm ๋ฐํ์ ํธ์คํธ ๋ฐ ์ค์ผ์คํธ๋ ์ดํฐ๋ฅผ ์ํด
ํธ์คํธ ํ๊ฒฝ์ ์ญ๋์ ๋ถ์ฌํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค:
- ํ๊ฒฝ ๊ตฌ์ฑ: ํธ์คํธ๋ ๋ชจ๋์ ํ๊ฒฝ์ ์ฃผ์ ๋ ํน์ ์ญ๋์ผ๋ก Wasm ๋ฐํ์์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ด ๊ตฌ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์ํ๋๊ฑฐ๋ ๋น๋ ์ ์ ์ ์ผ๋ก ์ํ๋ ์ ์์ต๋๋ค.
- ์ญ๋ ๋งคํ: ํธ์คํธ๋ ์ถ์์ ์ธ WASI ์ญ๋์ ๊ตฌ์ฒด์ ์ธ ์์คํ ๋ฆฌ์์ค์ ๋งคํํ ์ฑ ์์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Wasm ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ํน์ ํธ์คํธ ํ์ผ ๊ฒฝ๋ก ๋๋ ๋คํธ์ํฌ ์๋ํฌ์ธํธ์ ๋งคํํ๋ ๊ฒ์ ๋๋ค.
- ๋ฐํ์ ๊ฐ์ : Wasm ๋ฐํ์์ Wasm ๋ชจ๋์ด ๋ถ์ฌ๋ฐ์ ์ญ๋๋ง ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ์ ํฉ๋๋ค.
์์: ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ํ์ผ ์ ๊ทผ ๊ถํ ๋ถ์ฌ
ํน์ S3 ๋ฒํท์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋, Rust๋ก ์์ฑ๋์ด Wasm์ผ๋ก ์ปดํ์ผ๋ ์๋ฒ๋ฆฌ์ค ํจ์๋ฅผ ์๊ฐํด ๋ด ์๋ค. Wasm ๋ชจ๋์ ๊ด๋ฒ์ํ ๋คํธ์ํฌ ์ ๊ทผ ๋ฐ ํ์ผ ์์คํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๋์ , ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ Wasm ๋ฐํ์์ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค:
- ๋คํธ์ํฌ ์ญ๋ ์ฃผ์
: S3 ์๋น์ค ์๋ํฌ์ธํธ(์:
s3.amazonaws.com์ 443 ํฌํธ)์ ์ฐ๊ฒฐํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. - ํ์ผ ์ฝ๊ธฐ ์ญ๋ ์ฃผ์ : (๊ฐ์ ธ์จ ํ) ํน์ S3 ๊ฐ์ฒด๋ฅผ Wasm ๋ชจ๋์ด ์ฝ์ ์ ์๋ ์์ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ์ ๋งคํํ์ฌ, ์ผ๋ฐ์ ์ธ ํ์ผ ์์คํ ์ฐ๊ธฐ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ์ง ์์ ์ ์์ต๋๋ค.
- ๋๋, ๋ฏธ๋ฆฌ ์ด๋ฆฐ ๋๋ ํฐ๋ฆฌ์ ํจ๊ป WASI-FS ์ฌ์ฉ: ํธ์คํธ๋ Wasm ๋ชจ๋์ ํ์ํ ๊ตฌ์ฑ์ด๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ํน์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ์ด๊ณ ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด Wasm ๋ชจ๋์ ํด๋น ๋ฏธ๋ฆฌ ์ด๋ฆฐ ๋๋ ํฐ๋ฆฌ ๋ด์ ํ์ผ์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ Wasm ํจ์๋ฅผ ๊ฒฉ๋ฆฌํ์ฌ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๋ฆฌ์์ค์ ์ ๊ทผํ๊ฑฐ๋ ์๋ํ์ง ์์ ๋คํธ์ํฌ ํธ์ถ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
์์: ๋ธ๋ก์ฒด์ธ์์ ์ค๋งํธ ๊ณ์ฝ ๋ณด์
๋ธ๋ก์ฒด์ธ ๋ถ์ผ์์ Wasm์ ์ค๋งํธ ๊ณ์ฝ์ ์ ์ ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์ค๋งํธ ๊ณ์ฝ์ด ๋ค์๊ณผ ๊ฐ์ ํ์๋ฅผ ํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค:
- ํฉ์ ๋ฉ์ปค๋์ฆ์ ๋ฐฉํดํ๋ ํ์.
- ๋ช ์์ ์ธ ํ๊ฐ ์์ด ๋ฏผ๊ฐํ ์คํ์ฒด์ธ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ํ์.
- ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ๋ํ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ์ ์ ๋ฐํ๋ ํ์.
์ค๋งํธ ๊ณ์ฝ์๋ ๋ค์๊ณผ ๊ฐ์ ์ญ๋์ด ๋ถ์ฌ๋ ์ ์์ต๋๋ค:
- ๋ธ๋ก์ฒด์ธ์ ํน์ ์ํ ๋ณ์ ์ฝ๊ธฐ.
- ์ด๋ฒคํธ ๋ฐ์์ํค๊ธฐ.
- ์ํธํ ์์ ์ํํ๊ธฐ.
- ์ฌ์ ์ ์น์ธ๋ ๋ค๋ฅธ ์ค๋งํธ ๊ณ์ฝ ํธ์ถํ๊ธฐ.
ํ๊ฐ๋์ง ์์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ค๋ ๋ชจ๋ ์๋๋ ์ด๋ฌํ ์ ํ๋ ์ญ๋์ ๊ฐ์ ํ๋ ๋ฐํ์์ ์ํด ์ฐจ๋จ๋ฉ๋๋ค.
๊ณผ์ ๋ฐ ํฅํ ๋ฐฉํฅ
WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ๊ฐ๋ ฅํ์ง๋ง, ์ง์์ ์ธ ๊ณผ์ ์ ๊ฐ๋ฐ ๋ถ์ผ๊ฐ ์์ต๋๋ค:
- ํ์คํ ๋ฐ ์ํธ์ด์ฉ์ฑ: ์ง์ ํ ์ด์์ฑ์ ์ํด์๋ ์ญ๋ ๋ถ์ฌ ๋ฉ์ปค๋์ฆ์ด ๋ค์ํ Wasm ๋ฐํ์๊ณผ ํธ์คํธ ํ๊ฒฝ์์ ์ผ๊ด๋๊ฒ ๊ตฌํ๋๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๊ฐ๋ฐ์ ๊ฒฝํ: ๊ฐ๋ฐ์๊ฐ ๋ชจ๋์ ํ์ํ ์ญ๋์ ๋ ์ฝ๊ฒ ์ดํด, ์ ์ ๋ฐ ๊ด๋ฆฌํ ์ ์๋๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด ๊ณผ์ ์ ๋จ์ํํ๊ธฐ ์ํ ๋๊ตฌ์ ์ถ์ํ๊ฐ ํ์ํฉ๋๋ค.
- ๋์ ์ญ๋ ๊ด๋ฆฌ: ๋ ๋ณต์กํ ์๋๋ฆฌ์ค๋ฅผ ์ํด, ๋ฐํ์์ ๋์ ์ผ๋ก ์ญ๋์ ์ทจ์ํ๊ฑฐ๋ ์์ ํ๋ ๋ฉ์ปค๋์ฆ์ ํ์ํ๋ ๊ฒ์ด ์ ์ตํ ์ ์์ต๋๋ค.
- ๋ฆฌ์์ค ์ ํ: ์ญ๋์ ์ ๊ทผ ๊ฐ๋ฅํ ๊ฒ์ ์ ์ดํ์ง๋ง, DoS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ๋ฆฌ์์ค ์ ํ(CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ ๋์ญํญ)์ ๊ฐ์ ํ๋ ๊ฒ๋ ์ค์ํฉ๋๋ค. ์ด๋ ์ข ์ข ์ญ๋ ๋ถ์ฌ์ ํจ๊ป ์ฒ๋ฆฌ๋ฉ๋๋ค.
WASI ์ํน ๊ทธ๋ฃน์ WASI ์ฌ์ ๋ฐ ๊ด๋ จ ์ธํฐํ์ด์ค์ ๋ํ ์ง์์ ์ธ ๊ฐ๋ฐ์ ํตํด ์ด๋ฌํ ๊ณผ์ ๋ค์ ์ ๊ทน์ ์ผ๋ก ํด๊ฒฐํ๊ณ ์์ต๋๋ค.
์์ ํ WebAssembly ์คํ์ ๊ธ๋ก๋ฒ ์ํฅ
WASI๋ฅผ ์ํ ์ญ๋ ๋ถ์ฌ ์์คํ ์ ๊ธ๋ก๋ฒ ์ํํธ์จ์ด ์ํ๊ณ์ ์ง๋ํ ์ํฅ์ ๋ฏธ์นฉ๋๋ค:
- ์์ ํ ์ปดํจํ ์ ๋ฏผ์ฃผํ: ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ์ด, ์ ์ธ๊ณ์ ๋ ๋์ ๋ฒ์์ ๊ฐ๋ฐ์์ ์กฐ์ง์ด ๊ณ ๊ธ ๋ณด์ ํจ๋ฌ๋ค์์ ์ ๊ทผํ ์ ์๊ฒ ํฉ๋๋ค.
- ํ์ ์ด์ง: ๋ค์ํ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ ์์ ํ ํ๊ฒฝ์ ์ ๊ณตํจ์ผ๋ก์จ ๊ธ์ต, ์๋ฃ์์๋ถํฐ ์ํฐํ ์ธ๋จผํธ, ๋ฌผ๋ฅ์ ์ด๋ฅด๊ธฐ๊น์ง ์ฐ์ ์ ๋ฐ์ ๊ฑธ์ณ ์คํ๊ณผ ํ์ ์ ์ฅ๋ คํฉ๋๋ค.
- ์๋ก์ด ์ํคํ ์ฒ ์ง์: ๊ตฌ์ฑ ์์๊ฐ ์๋ฌต์ ์ธ ์ ๋ขฐ ์์ด ์์ ํ๊ฒ ํต์ ํ๊ณ ์๋ํด์ผ ํ๋ ๊ณ ๋๋ก ๋ถ์ฐ๋ ์์คํ , ์ฐํฉ ํ์ต ๋ฐ ์์ ํ ๋ค์๊ฐ ์ปดํจํ ๊ณผ ๊ฐ์ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์ ๊ธธ์ ์ฝ๋๋ค.
- ๊ท์ ์ค์ ํด๊ฒฐ: GDPR์ด๋ CCPA์ ๊ฐ์ ์๊ฒฉํ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ๋ฐ๋ผ ์ด์๋๋ ์กฐ์ง์ ๊ฒฝ์ฐ, ์ญ๋ ๋ถ์ฌ๊ฐ ์ ๊ณตํ๋ ์ธ๋ถํ๋ ์ ์ด๋ ๊ท์ ์ค์๋ฅผ ์ ์ฆํ๊ณ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ ์ ์์ต๋๋ค.
์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์ํ ๋ฒ์ฉ ํ๋ซํผ
WASI์ ๊ทธ ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์ํด ๊ฐํ๋ ์น์ด์ ๋ธ๋ฆฌ๋ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํ ๋ฒ์ฉ ํ๋ซํผ์ผ๋ก ๋น ๋ฅด๊ฒ ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. ์ด๋ ๊ฐ๋ ฅํ ๋ณด์ ํ์ธ๋ฅผ ์ ์งํ๋ฉด์ ๊ณ ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ์์ค ์์คํ ๋ฆฌ์์ค ์ฌ์ด์ ๊ฒฉ์ฐจ๋ฅผ ํด์ํฉ๋๋ค.
์ฐจ์ธ๋ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ , ์ฃ์ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ , ๋ธ๋ก์ฒด์ธ ์ธํ๋ผ๋ฅผ ๋ณดํธํ๋ , WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์ดํดํ๊ณ ํ์ฉํ๋ ๊ฒ์ ์ ์ ๋ ์ค์ํด์ง ๊ฒ์ ๋๋ค. ์ด๋ ๋ชจ๋ ์ฌ๋, ๋ชจ๋ ๊ณณ์ ์ํ ๋ ์์ ํ๊ณ , ์ด์ ๊ฐ๋ฅํ๋ฉฐ, ์ํธ์ด์ฉ ๊ฐ๋ฅํ ์ปดํจํ ๋ฏธ๋๋ฅผ ํฅํ ์ค์ํ ์ง์ ์ ์๋ฏธํฉ๋๋ค.
๊ฒฐ๋ก
WASI ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์น์ด์ ๋ธ๋ฆฌ๊ฐ ์ง์ ํ ๋ฒ์ฉ ๋ฐํ์์ผ๋ก ์งํํ๋ ๋ฐ ์์ด ์ด์์ ๋๋ค. ๊ด๋ฒ์ํ ๊ถํ์์ ๋ช ์์ ์ด๊ณ , ์์กฐ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ์ต์ ๊ถํ์ ์ญ๋์ผ๋ก ์ ํํจ์ผ๋ก์จ, ์น์ด์ ๋ธ๋ฆฌ๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์ด์ค ๋ ๋ฐ์ํ๋ ์ค์ํ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ด ๊ฐ๋ ฅํ ๊ถํ ๋ชจ๋ธ์ ๋ฏผ๊ฐํ ํด๋ผ์ฐ๋ ๋ฐฐํฌ์์๋ถํฐ ๋ถ์ฐํ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ํ๊ฒฝ์์ ์ ๋ขฐํ ์ ์๊ฑฐ๋ ๋ณต์กํ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค. WASI๊ฐ ๊ณ์ ์ฑ์ํด์ง์ ๋ฐ๋ผ, ์ญ๋ ๋ถ์ฌ ์์คํ ์ ์์ฌํ ์ฌ์ง ์์ด ์ ์ธ๊ณ์ ์ผ๋ก ์์ ํ๊ณ ์ด์ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์คํ์ ๋ฏธ๋๋ฅผ ํ์ฑํ๋ ๋ฐ ์ ์ ๋ ํฐ ์ญํ ์ ํ ๊ฒ์ ๋๋ค.